/**
 * @author yinyuejia
 * @file 封装element-plus三种提示框
 */

import { ElNotification, ElMessage, ElMessageBox } from 'element-plus';

// 消息提示  常用于主动操作后的反馈提示。 与 Notification 的区别是后者更多用于系统级通知的被动提醒。
export const message = function (option: any) {
  return new Promise((resolve) => {
    const module = () => import('element-plus/es/components/message/style/css');
    module().then(() => {
      resolve(ElMessage(option));
    });
  });
};

// 消息弹框  模拟系统的消息提示框而实现的一套模态对话框组件，用于消息提示、确认消息和提交内容。
export const messageBox = {
  confirm() {
    let arg: any = arguments; // eslint-disable-line
    return new Promise((resolve) => {
      const module = () => import('element-plus/es/components/message-box/style/css');
      module().then(() => {
        resolve(ElMessageBox.confirm(arg));
      });
    });
  },
};

// 通知  悬浮出现在页面角落，显示全局的通知提醒消息。
export const notification = function (option: any) {
  return new Promise((resolve) => {
    const module = () => import('element-plus/es/components/notification/style/css');
    module().then(() => {
      resolve(ElNotification(option));
    });
  });
};
